import request from '@/utils/request'

/**
 * 创建或者更新企业信息
 * @param option 要创建或者更新的企业信息
 * @return 返回成功或者失败的Promise对象
 */
export const createOrUpdateEnterprise = <T = any>(option: { [key: string]: any }) => {
  return request<T>({
    url: '/enterprise',
    data: option,
    method: 'patch'
  })
}

/**
 * 获取企业信息
 * @param options 查询参数
 * @return 返回企业信息的Promise对象
 */
export const fetchEnterprise = <T = any>(options: { [key: string]: any }) => {
  return request<T>({
    url: '/enterprise',
    params: options
  })
}

/**
 * 根据企业ID获取企业信息
 * @param options 查询参数
 * @return 返回企业信息的Promise对象
 */
export const fetchEnterpriseById = <T = any>(options: { [key: string]: any }) => {
  return request<T>({
    url: `/enterprise/` + options.id
  })
}

/**
 * 根据企业ID删除企业信息
 * @param options 删除参数
 * @return 返回删除结果的Promise对象
 */
export const deleteEnterpriseById = <T = any>(options: { [key: string]: any }) => {
  return request<T>({
    url: `/enterprise/` + options.id,
    method: 'delete'
  })
}

/**
 * 批量删除企业信息
 * @param options 删除参数
 * @return 返回删除结果的Promise对象
 */
export const deleteEnterpriseByIds = <T = any>(options: { [key: string]: any }) => {
  return request<T>({
    url: `/enterprise`,
    method: 'delete',
    data: options
  })
}

/**
 * 获取查询条件
 * @param options 查询参数
 * @return 返回查询条件的Promise对象
 */
export const fetchQueryDictByNameList = <T = any>(options: { [key: string]: any }) => {
  return request<T>({
    url: '/dict-options',
    params: options
  })
}
